import { BrowserModule, } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule,ReactiveFormsModule} from '@angular/forms';
import { HttpModule }    from '@angular/http';

import {ModelContainerService} from './services/model-container.service';
import {DataTransmissionService} from '../app/services/data-transmission.service'
import {WindowEventService} from '../app/services/window.event.service'

import { AppComponent } from './app.component';
import { LayerListComponent } from './components/layer-list/layer-list.component';
import { OlMapComponent } from './components/ol-map/ol-map.component';
import { ToolsBoxComponent } from './components/tools-box/tools-box.component';
import { ToolPanelComponent } from './components/tool-panel/tool-panel.component';
import { TreeModule } from 'ng2-tree';
import { Ng4FilesModule } from 'angular4-files-upload';
import { AddLayerComponent } from './components/add-layer/add-layer.component';
import {ToastModule} from 'ng2-toastr/ng2-toastr';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { ToolsBoxSettingComponent } from './components/tools-box-setting/tools-box-setting.component';
import { settingTreeContextmenuDirective,MapResizeDirective,DialogDragDirective } from './attribute-directives/react-directive';
import { ToolsBoxSettingPanelComponent } from './components/tools-box-setting-panel/tools-box-setting-panel.component';
@NgModule({
  declarations: [
    AppComponent,
    LayerListComponent,
    OlMapComponent,
    ToolsBoxComponent,
    ToolPanelComponent,
    AddLayerComponent,
    ToolsBoxSettingComponent,
    settingTreeContextmenuDirective,
    MapResizeDirective,
    DialogDragDirective,
    ToolsBoxSettingPanelComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    TreeModule,
    HttpModule,
    ReactiveFormsModule,
    Ng4FilesModule,
    ToastModule.forRoot(),
    BrowserAnimationsModule
  ],
  providers: [ModelContainerService,
    DataTransmissionService,
    WindowEventService],
  bootstrap: [AppComponent]
})
export class AppModule { }
